iT邦幫忙

2021 iThome 鐵人賽

DAY 24
0

Laravel Dusk 提供我們瀏覽器自動化及測試 API。首先把套件引入

composer require --dev laravel/dusk

再來我們利用 dusk:install 來創建 tests/Browser 目錄

php artisan dusk:install

接著我們可以開始看一下 tests/DuskTestCase.php 這個檔案,裡面主要是基本 Dusk 測試用例,我們要把 startChromeDriver 刪除,不刪除會開啟Chrome。

接下來設置一個測試檔案

php artisan dusk:make LoginTest

我們可以看到 tests/Browser 中有 LoginTest.php 這個檔案,稍微編輯一下

public function testExample()
    {
        $this->browse(function (Browser $browser) {
            $browser->visit('/')
                    ->assertSee('我是首頁');
        });
    }

接著測試看看

php artisan dusk

我們接著試著用他登入

class LoginTest extends DuskTestCase
{
    use DatabaseMigrations;
    /**
     * A Dusk test example.
     *
     * @return void
     */
    public function testBrowser()
    {
        User::create([
            'account' => 'Jim',
            'password' => Hash::make('ANDf3_'),
            'name' => 'Jim'
        ]);
    
        $this->browse(function ($browser) {
            $browser->visit('/login')
                ->type('account', 'Jim')
                ->type('password', 'ANDf3_')
                ->press('login')
                ->assertPathIs('/login');
        });
    }
}

我們用 DatabaseMigrations 這個trait來讓DB在測試完後恢復原狀,並訪問登入頁面,模擬輸入帳密後,按下登入鍵的情境。

得到的結果

今天先介紹簡單的測試方法,明天再見囉!


上一篇
Day23 跟著官方文件學習Laravel-Collection
下一篇
Day25 跟著官方文件學習Laravel-Service Container
系列文
跟著官方文件學習Laravel, 並實作出一個會員登入系統30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言